These notes are much more important in an open community like OpenCPN. Otherwise work issues tend to be out of sight, and we risk that two or more are working on the same thing, clueless of each other. Open cooperation and problem solving communication is a much better way.
Also there is a wide range of skills & skill levels in this community. We all try to help each other, but we need to understand that this is all voluntary, and intended to be fun. We all share the common interest of supporting and creating great Chart Plotter Navigation software. OpenCPN is very lucky to be supported by some very talented individuals too, contributing their time and skills to the program. Won't you help in some way too?
There are many ways to participate in and assist this Open Source Project. Programming skills are advantageous but not necessary because many other different skills and efforts are needed. See where you can help!
Note:
Beta Testing is conducted in a Real Time environment (not using Debug) by volunteer Testers or end users when the development team determines the software is ready.
Any user can be a beta tester, they need to know how to install and use the software and report. Using CI tools is inappropriate for Beta Testing.
We unfortunately don't have manpower to teach people programming and duplicate every piece of documentation out there.
Dave has suggested these websites for Training in C++ which is the most basic skill required. In any case they should be bookmarked and studied.
We also do not have energy, time, resources, whatever, to maintain the outdated toolchain, dependencies and know-how. However all the build instructions are updated for the current master and that is what developers should use. Versions other than the current Release are just history!
Done early on by skilled testers at the specific request of programmers who are actively creating big new features or internal optimizations. These skilled testers are asked by the programmers to help achieve the main goals of the program to get it ready for Beta Testing, using a “Debug” environment. They do not “Bug” the programmers with:
They debug the program using their software tools and report the actions and error codes using MSVC++ call stack, or Linux debug tools. Beta testing can only begin when the development team is sure there are no obvious bugs such as null pointer deref or other errors that can be caught through testing inside a debug environment. Beta testing begins when the development team wishes it.
However do not “bug” the programmers. Simply report your findings as completely as possible using the Github “Issues” section if possible. Include any pertinent logs, screenshots or files. Do not combine issues into one post and identify the program version or date.
Programming skills vary greatly. Some are learning, some have many years of experience. Respect each other and work together when possible.
Debugging see the “Compiling” pages“
Online Repositories - Free to Opensource
Additional Software Tools which integrate with and push to Github - Free to OpenSource :